package ui;

import javabean.Student;
import service.iml.ServiceLogicImp;

import java.util.Scanner;

public class show {
    public static int index = 0;//static优先权，全局的，只有一份

    //    对于只有一份的解释，就是本来index是0，后来添加了一个学生对象，index就变成1了，就不是0
//    public static void main(String[] args) {
    public static void studentDemo() {//这是原来的main
//        1.定义一个存储对象的数据结构
        Student[] stu = new Student[200];
        System.out.println("------您已进入学生管理系统------");
//        2.！在表现层实例化一个业务逻辑层对象，用于调用业务逻辑层的方法
        ServiceLogicImp serviceLogicImp = new ServiceLogicImp();
        while (true) {
            System.out.println("请输入你要进行的操作：");
            System.out.println("1.录入学生信息");
            System.out.println("2.打印学生信息");
            System.out.println("3.删除学生信息");
            System.out.println("4.更新学生信息");
            System.out.println("0.退出系统");
            Scanner scanner = new Scanner(System.in);
            int menu = scanner.nextInt();
            switch (menu) {
                case 1:
                    serviceLogicImp.addStuService(stu);//调用业务逻辑层的方法
                    break;
                case 2:
                    serviceLogicImp.printStuService(stu, show.index);//开始写成show.index+1了，
                    // 输出空的之后给报错了.------对于index的理解，首先定义了一个全局的只有一份的index，
                    // 然后在添加学生对象的过程中，每添加一个学生对象，index++。而后在删除学生对象的过程中，
                    // 每删除一个对象，index--。故而，index是数组的有效元素的个数。
                    break;
                case 3:
                    System.out.println("请输入你要删除的学生学号：");
                    String xuehao = scanner.next();
                    Boolean b = serviceLogicImp.delStuService(stu, show.index, xuehao);
                    if (b) {
                        System.out.println("学号" + xuehao + "该学生信息已删除！");
                    } else {
                        System.out.println("删除失败！");
                    }
                    break;
                case 4:
                    System.out.println("请输入你要修改的学生学号：");
                    String xuehao1 = scanner.next();

                    Boolean b1 = serviceLogicImp.updateStuService(stu, xuehao1);
                    if (b1 == true) {
                        System.out.println("学生信息更新完毕！");
                    } else {
                        System.out.println("学生信息更新失败！");
                    }
                    break;
                case 0:
                    System.out.println("------您已退出学生管理系统，再见！------");
                    System.exit(0);//这里写0不是因为是case 0，写case 5依然要写0
                    break;
            }
        }
    }
}
